//
//  main.m
//  NSMutableArray
//
//  Created by wenjim on 17/10/24.
//  Copyright © 2017年 WenJim. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    
    // 创建一个空的数组
    NSMutableArray * arrM = [NSMutableArray array];
    NSLog(@"arrM = %@",arrM);
    // 如何添加
    [arrM addObject:@"cwj"];
    // 将指定数组中的元素都取出来，放到arrM中
    // 并不是将整个数组作为一个元素添加到arrM中
    [arrM addObjectsFromArray:@[@"love",@"zbc"]];
    // 注意：以下是将整个数组作为一个元素添加
//    [arrM addObject:@[@"love",@"zbc"]];
    NSLog(@"arrM = %@",arrM);
    
    // 如何插入
    [arrM insertObject:@"사랑해요" atIndex:1];
    NSIndexSet * set = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(2, 3)];
    // 插入一组数据，指定数组需要插入的位置，和插入多少个
    [arrM insertObjects:@[@"A",@"B",@"C"] atIndexes:set];
    NSLog(@"arrM = %@",arrM);
    
    
    // 如何删除
    [arrM removeObjectAtIndex:0];
    NSLog(@"arrM = %@",arrM);
    
    [arrM removeObject:@"A"];
    NSLog(@"arrM = %@",arrM);
    
    [arrM removeLastObject];
    NSLog(@"arrM = %@",arrM);
    
//    [arrM removeAllObjects];
//    NSLog(@"arrM = %@",arrM);
    
    // 如何替换
    [arrM replaceObjectAtIndex:1 withObject:@"M"];
    arrM[0] = @"爱してる";
    NSLog(@"arrM = %@",arrM);
    
    
    // 如何获取
    NSLog(@"获取到：%@",[arrM objectAtIndex:0]);
    NSLog(@"获取到：%@",arrM[0]);
    
    
    // 注意：不能通过 @[] 来创建一个可变数组，因为@[]创建出来的是一个不可变数组
    // 如果把一个不可变数组当做一个可变数组来使用，会引发一个运行时错误
//    NSMutableArray * arrM2 = @[@"cwj",@"爱してる ",@"zbc"];
    
//    [arrM2 addObject:@"cwj"];
    
    return 0;
}
